

//引入用户集合的构造函数
const { User ,validateUser} = require('../../model/user');

const bcrypt = require('bcrypt');

module.exports = async (req,res,next)=>{
		

		try{

		await validateUser(req.body);

	}catch(e){

		// return res.redirect(`/admin/user-edit?message=${e.message}`)
	
		//JSON.stringify()将对象数据类型转换为字符串数据类型
		
		return next(JSON.stringify({path:'/admin/user-edit',message:e.message}))

	}

	//根据邮箱地址查询用户是否存在
	let user = await User.findOne({email:req.body.email});


		if(user){

				// return res.redirect(`/admin/user-edit?message=邮箱地址已经被占用`);
			return next(JSON.stringify({path:'/admin/user-edit',message:'邮箱地址已经被占用'}))
			
			}

			//对密码加密处理
			const salt = await bcrypt.genSalt(10);

			const password =  await bcrypt.hash(req.body.password,salt);

			req.body.password=password;

				//将用户信息添加到数据库中
				await User.create(req.body);

				res.redirect('/admin/user');

};
	